package cn.stylefeng.guns.modular.robot.controller;

import cn.stylefeng.guns.modular.robot.entity.DfInfo;
import cn.stylefeng.guns.modular.robot.service.DfInfoService;
import cn.stylefeng.roses.core.reqres.response.ResponseData;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import java.util.List;

@RestController
@RequestMapping("/dfInfo")
public class DfInfoController {

    @Resource
    private DfInfoService dfInfoService;

    @GetMapping("/getNewInfo")
    public List<DfInfo> getNewInfo(@RequestParam("groupUserName") String groupUserName) {
        List<DfInfo> list = dfInfoService.lambdaQuery()
                .eq(DfInfo::getGroupUserName,groupUserName)
                .eq(DfInfo::getIsHandle, false)
                .orderByAsc(DfInfo::getCreateTime)
                .list();
        for (DfInfo dfInfo : list) {
            dfInfo.setCreateTime(null);
            dfInfo.setUpdateTime(null);
        }
        return list;
    }

    @PostMapping("/dfNotify")
    public void dfNotify(@RequestParam("id") Long id, @RequestParam("message") String message, @RequestParam("file") MultipartFile file) {
        dfInfoService.dfNotify(id, message, file);
    }

    @PostMapping("/importDf")
    public ResponseData importDf(@RequestParam("file") MultipartFile file) {
        dfInfoService.importDf(file);
        return ResponseData.success();
    }
}

//1、一个商户 代付群只能有一个，
//2、 在群里操作代付指令时  必须验证当前群是 代付群
//3、代付群除了没有上下游关系，其他指令都有，  非代付群，不能操作代付指令
//4、代付 群创建时，需要有新字段去控制是否是代付群
//5、批量导入时  提前验证代付群是否被创建
//6、批量导入后 触发代付自动化，将成功的结果推送至 指定群